/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Controladores;

import Beans.Categoria;


import java.util.LinkedList;
import javax.swing.JOptionPane;

/**
 *
 * @author Ethan Amador
 */
public class ControladorCategoria {

    public static LinkedList<Categoria> ListaCategoria = new LinkedList<Categoria>();

    public int Posicion() {
        return ListaCategoria.size();
    }

    public LinkedList<Categoria> Listar() {
        return ListaCategoria;
    }

    public boolean Existe(String Nombre) {

        for (Categoria ca : ListaCategoria) {
            if (ca.getNombre().equals(Nombre)) {
                return true;
            }
        }
        return false;

    }

    public void Registrar(Categoria c) {
        if (!Existe(c.getNombre())) {
            ListaCategoria.add(c);
            JOptionPane.showMessageDialog(null, "CATEGORIA REGISTRADA CON EXITO");
        }else
            JOptionPane.showMessageDialog(null, "ESTA CATEGORIA YA SE ENCUENTRA"
                    + "REGISTRADA.", "ERROR!", JOptionPane.ERROR_MESSAGE);
    }
    
    public void Eliminar(String Nombre){
        for(Categoria ca:ListaCategoria){
            if(ca.getNombre().equals(Nombre)){
                ListaCategoria.remove(ca);
                JOptionPane.showMessageDialog(null, "CATEGORIA ELIMINADA CON EXITO..");
            }else
                JOptionPane.showMessageDialog(null, "ERROR AL ELIMINAR CATEGORIA",
                        "ERROR!", JOptionPane.ERROR_MESSAGE);
        }
    }
    
    public void Modificar(String Nombre, int pos,Categoria c){
        if(!Existe(Nombre)){
            JOptionPane.showMessageDialog(null, "CATEGORIA NO ENCONTRADA", "ERROR!", JOptionPane.ERROR_MESSAGE);
        }else{
            ListaCategoria.set(pos,c);
            JOptionPane.showMessageDialog(null, "CATEGORIA MODIFICADA CON EXITO..");
        }
    }
    
    public int pos(String Nombre){
        for(Categoria ca:ListaCategoria){
            if(ca.getNombre().equals(Nombre)){
                return ListaCategoria.indexOf(ca);
            }
        }
        return 0;
    }
    
     public int ObtenerId(String Nombre){
        for(Categoria c:ListaCategoria){
            if(c.getNombre().equals(Nombre)){
                return c.getId();
            }
        }
        return 0;
    }
     
     public String ObtenerNombre(int id){
         for(Categoria c :ListaCategoria){
             if(c.getId()==id){
                 return c.getNombre();
             }
         }
         return null;
     }
}
